package com.mirai.mirai_boot.api;

import com.alibaba.fastjson.JSONObject;
import com.mirai.mirai_boot.entity.Music;
import com.mirai.mirai_boot.utils.JsoupUtils;
import org.springframework.stereotype.Component;

import java.io.IOException;

/**
 * @author : CP
 * @version: 1.0
 * @program : mirai_boot
 * @description : 酷狗音乐实现
 * @date : 2021-07-02 17:09
 **/
@Component
public class KuGouMusicApi {

    public Music getMusic(String para) throws IOException {

        // 连接
        String url = "http://mobilecdn.kugou.com/api/v3/search/song?keyword="+para;

        // 解析json 取一条数据
        JSONObject jsonObject = JSONObject.parseObject(JsoupUtils.connect(url))
                .getJSONObject("data")
                .getJSONArray("info")
                .getJSONObject(0);

        // 标题
        String title = jsonObject.getString("filename");
        // 歌手
        String summary = jsonObject.getString("album_name");

        // 播放地址id
        String album_id = jsonObject.getString("album_id");
        String hash = jsonObject.getString("hash");
        String mid = jsonObject.getString("320hash");

        // 网络地址
        String jumpUrl = "https://www.kugou.com/song/#hash="+hash+"&album_id="+album_id;

        // mp3播放地址
        String dataUrl = "https://wwwapi.kugou.com/yy/index.php?r=play/getdata&hash="+hash+"&&mid="+mid+"&album_id="+album_id;
        JSONObject dataJson = JSONObject.parseObject(JsoupUtils.connect(dataUrl))
                .getJSONObject("data");
        // 网络图片
        String img1v1Url = dataJson.getString("img");
        // 播放地址
        String data = dataJson.getString("play_url");

        //生成音乐类
        Music music = new Music();
        music.setType("qq");
        // 播放地址
        music.setJumpUrl(jumpUrl);
        music.setMusicUrl(data);
        // 播放图片
        music.setPictureUrl(img1v1Url);
        // 歌手
        music.setSummary(summary);
        // 标题
        music.setTitle(title);
        music.setBrief(title);
        System.out.println(music);
        return music;
    }
}

